Principles and Practices of Software Development
نویسندگان
چکیده
In this paper, we aim to provide a new perspective on the methods of software development. We find most software development methodologies to be overly prescriptive; they focus primarily on what methods to use without adequate consideration of what problems are being addressed and without a comparison of different methods that apply to the same problem. We maintain that software developers can be most effective if they are provided both with a variety of methods from which to choose and with the understanding necessary to select the methods that are best suited to their project. To that end, we introduce a framework for describing the principles of software development, a vocabulary for characterizing and understanding the constraints under which software is being written. We present some principles of software development, relating them to specific problems that occur in software projects and to practices that are used to address those problems. We observe that the practices of different methodologies can be understood in terms of how they weigh the relative importance of the underlying principles. We illustrate how identifying such principles can help in selecting the most appropriate practices. We note that some of the most significant differences among methodologies arise when principles provide conflicting viewpoints. We then discuss how iterative or incremental software development practices can be used to minimize the risks that result from conflicting principles. DRAFT of August 26, 2002 2
منابع مشابه
Configuration Management Principles and Practices
This paper identifies fundamental principles and practices essential to the successful performance of a configuration management system. Practices are grouped into four categories that govern the management process, ensure product quality, protect software artifacts, and guide tool use. In addition, the practices are prioritized according to their effect on software products and processes and t...
متن کاملAgile Software Development: Adaptive Systems Principles and Best Practices
Today’s environments of increasing business change require software development methodologies that are more adaptable. This article examines how complex adaptive systems (CAS) theory can be used to increase our understanding of how agile software development practices can be used to develop this capability. A mapping of agile practices to CAS principles and three dimensions (product, process, a...
متن کاملA Methodology for assessing Agile Software Development Approaches
Agile methods provide an organization or a team the flexibility to adopt a selected subset of principles and practices based on their culture, their values, and the types of systems that they develop. More specifically, every organization or team implements a customized agile method, tailored to better accommodate its needs. However, the extent to which a customized method supports the organiza...
متن کاملNeglecting Agile Principles and Practices: A Case Study
Agile processes are expected to follow a set of well known agile principles and practices. This paper analyses the utilization of an agile process in a project that imposes certain difficulties in meeting such principles and practices in their totality, particularly those that refer to daily face-to-face communication among team members and frequent delivery of new versions of the product in sh...
متن کاملand Lean Production
Lean software development Lean software development (LSD) is a translation of lean manufacturing and lean IT principles and practices to the software development domain. Adapted from the Toyota Production System, a pro-lean subculture is emerging from within the Agile community. Origin The term lean software development originated in a book by the same name, written by Mary Poppendieck and Tom ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002